Concept for calculating age dependent mortality

Do imports

Retrieve data

stmeta <- cbs_get_meta("70895ned")

sterftedata <- data.frame(cbs_get_data(id = "70895ned", Geslacht = "1100", Perioden = has_substring("JJ")))
## 
  |                                                                                                                                                                                              
  |                                                                                                                                                                                        |   0%
  |                                                                                                                                                                                              
  |========================================================================================================================================================================================| 100%
paged_table(sterftedata)

Select older pop

bevolkingdata <- data.frame(cbs_get_data(id = "37296ned", select = c(
  "Perioden", "TotaleBevolking_1", "k_65Tot80Jaar_13",
  "k_80JaarOfOuder_14"
), typed = F))
## 
  |                                                                                                                                                                                              
  |                                                                                                                                                                                        |   0%
  |                                                                                                                                                                                              
  |========================================================================================================================================================================================| 100%
bevolkingdata$tot65 <- bevolkingdata[, 2] - bevolkingdata[, 3] - bevolkingdata[, 4]
names(bevolkingdata)[2:5] <- c("10000", "53950", "21700", "41700")
bevolkingdata <- melt(bevolkingdata, id.vars = "Perioden")
## Warning: attributes are not identical across measure variables; they will be dropped
names(bevolkingdata)[2:3] <- c("LeeftijdOp31December", "Aantal")

paged_table(bevolkingdata)

Add mortality by pop

data <- merge(bevolkingdata, sterftedata)
data$Mortaliteit <- data$Overledenen_1 / data$Aantal

paged_table(data)

Merge with other stuff

data <- merge(data, stmeta[5]$LeeftijdOp31December[, 1:2], by.x = "LeeftijdOp31December", by.y = "Key")
names(data)[7] <- "Leeftijd"
data$Jaar <- as.numeric(as.character(substr(data$Perioden, 1, 4)))
data$Leeftijd[data$Leeftijd == "Totaal leeftijd"] <- "Totaal (leeftijdsonafhankelijk)"

paged_table(data)

Have fun with plots

(ggplot(data, aes(x = Jaar, y = Mortaliteit, col = Leeftijd)) +
  geom_line() +
  ggtitle("Leeftijdscategorieafhankelijke mortaliteit per jaar") +
  theme_bw()) %>%
  ggplotly()
(ggplot(data, aes(x = Jaar, y = Mortaliteit, col = Leeftijd)) +
  geom_line() +
  ggtitle("Leeftijdscategorieafhankelijke mortaliteit per jaar") +
  coord_cartesian(ylim = c(0, 0.01)) +
  theme_bw()) %>%
  ggplotly()